#ifndef BLURDIALOG_H
#define BLURDIALOG_H

#include "transformationdialog.h"
#include "filter.h"

#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QSlider>
#include <QPushButton>

/// Dialog to parameterize blur transformation
class BlurDialog : public TransformationDialog
{
    Q_OBJECT

    Filter* _filter;
    QImage* _modifiedImage;

    QVBoxLayout* _mainLayout;
    QHBoxLayout* _subLayout;
    QPushButton* _okButton;
    QSlider* _slider;

    float* _matrix;
    int _matrixWidth;

private slots:
    void slider_changed(int);

public:
    BlurDialog(const QImage& img, QWidget* parent = 0);
    ~BlurDialog();
    float* get_filter_matrix(int& matrixWidth);
};

#endif // BLURDIALOG_H
